/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: yyx
 * Date: 2025-02-25
 * Time: 13:40
 */

public class text {

    //字符串类型
    public static void main22(String[] args) {
        String str1="yyx";
        String str2="最帅";
        System.out.println(str1+str2);//表示str1跟str2进行拼接
    }

    //字符串跟整型之间的互相转换
    public static void main(String[] args) {
        //int--->string
        //1
        int num=10;
        String s1=num+"a";
        //2
        String s2=String.valueOf(num);
        //string--->int
        String s3="100";
        int num2=Integer.parseInt(s3);
        System.out.println(num2);
    }



    //类型提升
    public static void main20(String[] args) {
        int a=10;
        long b=100L;
        //int c1=a+b;
        long c2=a+b;// 不同类型的数据运算时。数据类型小的会提升成大的，int--->long，所以赋值给int时会丢失数据

    }

    public static void main21(String[] args) {
        byte b1=2;
        byte b2=4;
        //byte a=b1+b2;
        int c=b1+b2;
        //当byte跟short这种低于4个字节的类型进行运算时，会先提升成int类型，再进行计算。
    }




    //类型转换
    public static void main15(String[] args) {
        int a=10;
        long b=100L;
        b=a;
        //a=b;

    }

    public static void main16(String[] args) {
        //自动类型转换
        float f=5.0f;
        double d=5.20;
        d=f;//float型转换成double型
        System.out.println(d);
    }

    public static void main17(String[] args) {
        //强制类型转换
        int a=10;
        long b=100L;
        a=(int)b;
        System.out.println(a);
        byte b1=100;
        byte b2=(byte)666;//会造成数据丢失
        System.out.println(b2);
    }

    public static void main18(String[] args) {
        char c='0';
        int a=2;
        a=(int)c;
        System.out.println(a);
    }

    public static void main19(String[] args) {
        //不相干的类型不能互转
        boolean b=true;
        int a=1;
        //a=(int)b;
    }





    //布尔类型
    public static void main14(String[] args) {
        boolean b =false;
        boolean b2=true;
        //布尔类型只有true表示真，false表示假
        System.out.println(b);
        //System.out.println(Boolean.MAX_VALUE);
        //boolean的包装类型是Boolean，但是jvm中没有明确规定boolean所占字节
    }




    //字符型
    public static void main13(String[] args) {
        char a='帅';
        System.out.println(a);
        //
        System.out.println(Character.MAX_RADIX);
        System.out.println(Character.MIN_VALUE);

    }






    //字节型
    public static void main12(String[] args) {
        byte a=99;
        //byte包装类型
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
    }


    //短整型
    public static void main10(String[] args) {
        short a=5;
        System.out.println(a);
    }

    //short的包装类型
    public static void main11(String[] args) {
        System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);
    }



    //长整型
    public static void main7(String[] args) {
        long a=10L;//为了区别long跟int
        System.out.println(a);

    }


    //long的包装类型
    public static void main8(String[] args) {
        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);
    }





    //整型
    public static void main6(String[] args) {
        int a=1;
        int b;//java中变量必须要初始化，否则会报错
        System.out.println(a);
        //System.out.println(b);
    }

    //int的包装类型
    public static void main5(String[] args) {
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }


    public static void main4(String[] args) {
        int a=1;
        int b=2;
        System.out.println(a/b);
    }



    //数据类型
    //浮点型
    public static void main3(String[] args) {
        //float a= 2.5;
        float a=2.5F;//java中的浮点型默认是double类型，使用float类型时要加上F
        double b=6.6;
    }

    public static void main2(String[] args) {
        double num=1.1;
        System.out.println(num*num);//因为Java中有精度误差，结果会有一定偏差

    }

    //包装类型
    public static void main1(String[] args) {
        System.out.println(Float.MAX_VALUE);
        System.out.println(Float.MIN_VALUE);
        System.out.println(Double.MAX_VALUE);
        System.out.println(Double.MIN_VALUE);

    }



}
